package gspushmq.util;

/**
 * @Description 字符串特殊操作工具类
 * @Author 成尚佳
 * @Date 2018/12/17 11:09
 * @Version 1.0
 * @company 上海朝阳永续信息技术有限公司
 * @copyright (c) 2015 SunTime Co'Ltd Inc. All rights reserved.
 **/
public class StringUtil {


    /**
     *<b>Summary:截取字符串为指定长度,如果字符串长度没有那么长，返回原字符串  </b>
     * subStringToLength()
     * @param str 原字符串
     * @param length 要截取的长度
     * @param fill 当长度超过以后的补位
     * @return
     */
    public static String subStringToLength(String str,Integer length,String fill){
        if(str == null ){
            return "";
        }
        //如果长度为null或者大于要截取的字符串的长度放回原来的字符串
        if(length == null || length >=str.length()){
            return str;
        }
        //如果为null，默认补"..."
        if(fill == null){
            return str.substring(0,length-3)+"...";
        }
        return str.substring(0,length-fill.length())+fill;
    }

    /**
     *<b>Summary:截取字符串为指定长度,如果字符串长度没有那么长，返回原字符串,默认补...  </b>
     * subStringToLength()
     * @param str 原字符串
     * @param length 要截取的长度
     * @return
     */
    public static String subStringToLength(String str,Integer length){
        return subStringToLength(str,length,"...");
    }

    /**
     *<b>Summary:截取字符串为20,如果字符串长度没有那么长，返回原字符串,默认补...  </b>
     * subStringToLength()
     * @param str 原字符串
     * @return
     */
    public static String subStringToLength(String str) {
        return subStringToLength(str, 20, "...");

    }
}
